path <- "~/clase/proyecto r/ProyectoVirusTotal/Android"
Guardamos todos los JSON en un array de characters, y los cargamos mediante un cluster donde vamos a paralelizar la lectura de los JSON, puesto que de esta es la forma más eficiente, pruebas de rendimiento en el anexo. Usaremos simplifyVector con el read_json ya que nos generará un archivo de menor tamaño y por tanto usaremos menos memoria y el spread_all consumirá menos tiempo para crear el dataset que a su vez también ocupará menos.
files <- dir(path, pattern = "*.json")
cl <- makeCluster(detectCores() -1 )
json_files<-list.files(path =path,pattern="*.json",full.names = TRUE)
json_list<-parLapply(cl,json_files,function(x) jsonlite::read_json(path = x , simplifyVector = TRUE))
stopCluster(cl)
Una vez cargados todos los json en una lista, los vamos a transformar en una tabla con la que podremos manejarla para crear los datasets, y posteriormente filtramos todas las columnas que sean NA, una vez hecho esto decidimos que la primero que queremos hacer es un clasificador de antivirus, mediante cluster con kmeans, dendograma y fcaR.
json_tabla <- json_list %>%
spread_all()
json_tabla_no_na <- json_tabla %>% select_if(~!all(is.na(.)))
Dado que ya hemos cargado los datos y sabemos con que columnas queremos trabajar, podemos filtrarlas desde la lista de todos los json en vez de crear el dataset y luego filtrarlas, esto nos permite crear un nuevo listado que ocupará la mitad de almacenamiento y es apróximadamente un 30% más rápido en ejecutarse incluso con esta muestra reducida de 183 objectos, haciéndolo mucho más eficiente que la opción de crear un dataset y realizarle un select para hacer la selección.
json_list_filtrados <- lapply(json_list, `[`, c('sha256',"total", "positives",'scans'))
json_tabla_filtrado <- json_list_filtrados %>%
spread_all()
Vamos a usar sha256 como el identificador de cada posible archivo y extraeremos también el número de positivos y lo que ha detectado cada antivirus el problema con ese resultado es que no podemos asegurar que no tenga NA, así que hay que filtrarlo posteriormente.
sha_datos_scans.detected <- as.data.frame(json_tabla_filtrado) %>% select( sha256, total, positives , matches("scans.*.detected"))
## Los datos numéricos únicamente para evitar dolores de cabeza.
datos_scans.detected <- as.data.frame(json_tabla_filtrado) %>% select( matches("scans.*.detected") )
## Nos sirve para pasar los true y false a 1 o 0.
datos_procesados <- data.frame(datos_scans.detected*1)
Se crea un tabla para poder contar el número de NA que tenemos en la detección de los antivirus, posteriormente los ordenamos de mayor a menor y extraemos el nombre de las filas extrayendo la parte .NA del archivo, lo que nos servirá para ir filtrando en el siguiente bucle.
tabla_total <- sapply(datos_procesados, table, useNA="always" )
tabla_df_total <- data.frame(t(unlist(tabla_total)))
tabla_NAs <- as.data.frame(t(select(tabla_df_total , matches( "*.NA$"))))
tabla_NAs <- arrange(tabla_NAs, desc(V1) )
nombres_eliminar<- gsub( ".{3}$", "", row.names(tabla_NAs))
Cargamos la tabla con los sha y los antivirus y le realizamos un reemplazo de los - por . para que estén en el mismo formato que nombres_eliminar, y posteriormente creamos un bucle que nos servirá para ir eliminando filas y columnas que tengan resultados NA hasta quedarnos con mínimo un 90% de filas respecto de la muestra inicial, finalmente eliminamos las filas con NA de nuestro dataframe, donde sacaremos nuestra nueva tabla con los resultados de los antivirus esta vez sin ningún NA, y nos guardamos un dataframe con la cantidad de resultados positivos de cada antivirus para posterior comprobaciones con los modelos que obtendremos.
json_df_filtrados<-sha_datos_scans.detected
colnames(json_df_filtrados)<-gsub("-" , ".", colnames(json_df_filtrados))
json_df_filtrados<-as.data.frame(json_df_filtrados)
i<-1
total_filas<-0
total<-nrow(sha_datos_scans.detected)
while (total_filas < total*0.9) {
mayor<- nombres_eliminar[i]
json_df_filtrados <- select(json_df_filtrados, -mayor)
total_filas <- nrow (na.omit(json_df_filtrados))
i<-i+1
}
json_df_filtrados<- na.omit(json_df_filtrados)
colnames(json_df_filtrados) <- gsub("scans.","",colnames(json_df_filtrados))
colnames(json_df_filtrados) <- gsub(".detected","",colnames(json_df_filtrados))
datos_df_filtrados <- as.data.frame(select(json_df_filtrados, -c("sha256","total","positives")))
tabla <- sapply(datos_df_filtrados , table)
tabla_df <- data.frame(t(unlist(tabla)))
tabla_unos <- as.data.frame(t(select(tabla_df , matches( "*.TRUE$"))))
Haciendo el nbclust nos sale que el valor óptimo de clúster es 2, sin embargo he optado por hacer 5 clústers ya que cuando hacía la visualización quedan mejor agrupados los valores. El resultado se visualiza mediante un gráfico interactivo donde puedes ver el valor de cada nodo con el antivirus al que corresponde.
fviz_nbclust(t(json_df_filtrados[,4:45]), kmeans, nstart= 10)
test_kmeans <- kmeans(t(json_df_filtrados[,4:45]), centers = 5, nstar=100)
grafico_kmeans<- fviz_cluster(test_kmeans, data = t(json_df_filtrados[,4:45]) , geom=c("point", "text"))+ geom_point(aes(color=cluster, text = name))
## Warning: Ignoring unknown aesthetics: text
grafico_kmeans$layers[[4]] <- NULL
grafico_kmeans$layers[[3]] <- NULL
grafico_kmeans$layers[[1]] <- NULL
ggplotly(grafico_kmeans)
Ahora probamos a realizarle un análisis usando un dendograma y luego lo agruparemos en 5 clústers para comprobar si se corresponden con el resultado de kmeans.
distancias <- dist(t(datos_df_filtrados))
distancias %>% fviz_dist()
clusters <- distancias %>% hclust()
plot(clusters, main="Detectado Antivirus" )
rect.hclust(clusters, k=5 )
dendograma <- ggdendrogram(clusters, rotate = FALSE)
Y ahora mostramos el dendograma en versión interactiva.
ggplotly(dendograma)
La función plot_interactivo nos devolverá un objeto plot_ly donde estará nuestra representación gráfica del fcaR. En la función plot_dendograma, dibujará el mapa de calor donde las columnas y las filas estarán ordenadas en función del resultado del dendograma, se le puede pasa opciones de la función heatmap.
plot_interactivo <- function(fca){
matriz_descompuesta <- as.matrix(t(fca[["I"]]))
plot_interactivo <- plot_ly(z=matriz_descompuesta, data=as.data.frame(matriz_descompuesta), type = "heatmap", colors = "Greys", x=colnames(matriz_descompuesta), y=rownames(matriz_descompuesta))%>% layout(xaxis = list(autotypenumbers ='strict', type='category'), yaxis = list(autotypenumbers ='strict', dtick=1 ))
return(plot_interactivo)
}
plot_dendograma <- function(fca){
matriz_descompuesta <- as.matrix(t(fca[["I"]]))
heatmap(matriz_descompuesta, col=c("White","Black"))
}
plot_dendograma_interactico <- function(fca){
matriz_descompuesta <- as.matrix(t(fca[["I"]]))
heatmaply(matriz_descompuesta, col=c("White","Black"))
}
A continuación voy a aplicar FCA y sacaré la representación del plot de fca en un mapa de calor, usando las funciones de plot_interactivo, plot_dendograma y plot_dendograma_interactivo. Obtenemos un total de 24 conceptos irreducibles que serían los grupos de antivirus que hay y 75 implicaciones irreducibles que se corresponderían a los grupos de archivos con resultados distintos.
datos_df_filtrados <- datos_df_filtrados*1
atributes <- colnames(datos_df_filtrados)
json_df_filtrados<- cbind(json_df_filtrados[,1:3], datos_df_filtrados)
fc_detected <- FormalContext$new(datos_df_filtrados)
fc_detected$clarify()
fc_detected$reduce()
fc_detected$plot()
fc_detected$find_concepts()
fc_detected$find_implications()
fc_detected$standardize()
## FormalContext with 75 objects and 24 attributes.
## M1 M2 M3 M4 M5 M6 M7 M8 M9 M10 M11 M12 M13 M14 M15 M16 M17 M18 M19 M20 M21
## J1 X X X X X X X X
## J2 X X X X X X X X X X
## J3 X X X X X X X X
## J4 X X X X X X X X X X X
## J5 X X X X X X X X X X X
## J6 X X X X X X X X
## J7 X X X X X X X X X X X X X X
## J8 X X X X X X X X X
## J9 X X X X X X X X X X
## J10 X X X X X X X X X X X
## Other attributes are: M22, M23, M24
fc_detected$implications
## Implication set with 280 implications.
## Rule 1: {[BitDefender, MicroWorld.eScan, FireEye, Emsisoft, GData]} ->
## {CAT.QuickHeal, K7GW, ESET.NOD32, DrWeb, Ikarus, Avira}
## Rule 2: {MAX} -> {ESET.NOD32}
## Rule 3: {Yandex} -> {K7GW, ESET.NOD32, Ikarus, Avast.Mobile}
## Rule 4: {Tencent, MaxSecure} -> {K7GW, ESET.NOD32, Ikarus}
## Rule 5: {AhnLab.V3} -> {ESET.NOD32, Ikarus}
## Rule 6: {Antiy.AVL} -> {ESET.NOD32}
## Rule 7: {Jiangmin} -> {ESET.NOD32, Ikarus}
## Rule 8: {Avast.Mobile, Tencent} -> {Ikarus}
## Rule 9: {Avast.Mobile, Avira, MaxSecure} -> {K7GW}
## Rule 10: {Ikarus, MaxSecure} -> {ESET.NOD32}
## Rule 11: {Zillya, MaxSecure} -> {K7GW}
## Rule 12: {Zillya, Tencent} -> {ESET.NOD32}
## Rule 13: {Zillya, Ikarus} -> {ESET.NOD32}
## Rule 14: {DrWeb} -> {ESET.NOD32}
## Rule 15: {F.Secure} -> {ESET.NOD32, Ikarus, Avira}
## Rule 16: {Comodo} -> {ESET.NOD32, Ikarus}
## Rule 17: {Rising} -> {ESET.NOD32, Avast, NANO.Antivirus, DrWeb, Ikarus,
## Avast.Mobile, Avira, Antiy.AVL, AhnLab.V3}
## Rule 18: {NANO.Antivirus} -> {ESET.NOD32}
## Rule 19: {Avast} -> {Avast.Mobile}
## Rule 20: {Avast, Ikarus, Avast.Mobile} -> {ESET.NOD32}
## Rule 21: {TrendMicro.HouseCall} -> {K7GW, ESET.NOD32, Zillya, Ikarus, Tencent}
## Rule 22: {ESET.NOD32, MaxSecure} -> {Ikarus}
## Rule 23: {ESET.NOD32, Avast.Mobile} -> {Ikarus}
## Rule 24: {ESET.NOD32, Ikarus, MAX, MaxSecure} -> {K7GW, DrWeb, AhnLab.V3}
## Rule 25: {ESET.NOD32, Ikarus, Antiy.AVL, MAX} -> {AhnLab.V3}
## Rule 26: {ESET.NOD32, Ikarus, Jiangmin, MaxSecure} -> {K7GW, NANO.Antivirus}
## Rule 27: {ESET.NOD32, Ikarus, Jiangmin, MAX} -> {K7GW, NANO.Antivirus, DrWeb,
## Avira, AhnLab.V3}
## Rule 28: {ESET.NOD32, Ikarus, Jiangmin, Tencent} -> {K7GW}
## Rule 29: {ESET.NOD32, Ikarus, Jiangmin, AhnLab.V3} -> {NANO.Antivirus}
## Rule 30: {ESET.NOD32, Ikarus, Jiangmin, Antiy.AVL} -> {NANO.Antivirus}
## Rule 31: {ESET.NOD32, Ikarus, Avast.Mobile, MAX} -> {Avast}
## Rule 32: {ESET.NOD32, Ikarus, Avast.Mobile, AhnLab.V3, MaxSecure} -> {DrWeb}
## Rule 33: {ESET.NOD32, Ikarus, Avast.Mobile, Antiy.AVL, MaxSecure} -> {K7GW}
## Rule 34: {ESET.NOD32, Ikarus, Avast.Mobile, Jiangmin} -> {NANO.Antivirus,
## Antiy.AVL}
## Rule 35: {ESET.NOD32, Zillya, MAX} -> {DrWeb, Antiy.AVL}
## Rule 36: {ESET.NOD32, Zillya, Ikarus, Avira, Tencent} -> {AhnLab.V3}
## Rule 37: {ESET.NOD32, Zillya, Ikarus, Avira, Antiy.AVL, AhnLab.V3, Tencent} ->
## {Avast, Avast.Mobile}
## Rule 38: {ESET.NOD32, Zillya, Ikarus, Jiangmin} -> {K7GW, NANO.Antivirus,
## Antiy.AVL, AhnLab.V3}
## Rule 39: {ESET.NOD32, Zillya, Ikarus, Avast.Mobile, Antiy.AVL, Tencent} ->
## {Avast, AhnLab.V3}
## Rule 40: {ESET.NOD32, Zillya, Ikarus, Avast.Mobile, Avira, AhnLab.V3, Tencent}
## -> {Avast, Antiy.AVL}
## Rule 41: {ESET.NOD32, DrWeb, Ikarus, Antiy.AVL, MaxSecure} -> {K7GW}
## Rule 42: {ESET.NOD32, DrWeb, Ikarus, Antiy.AVL, Tencent} -> {AhnLab.V3}
## Rule 43: {ESET.NOD32, DrWeb, Ikarus, Avira, MaxSecure} -> {K7GW}
## Rule 44: {ESET.NOD32, DrWeb, Ikarus, Avast.Mobile, Tencent} -> {AhnLab.V3}
## Rule 45: {ESET.NOD32, DrWeb, Zillya, Avira, Tencent} -> {Antiy.AVL}
## Rule 46: {ESET.NOD32, DrWeb, Zillya, Ikarus, Tencent} -> {AhnLab.V3}
## Rule 47: {ESET.NOD32, DrWeb, Zillya, Ikarus, Antiy.AVL, AhnLab.V3, Tencent, MAX}
## -> {Avast, Avast.Mobile}
## Rule 48: {ESET.NOD32, F.Secure, Ikarus, Avira, MaxSecure} -> {K7GW, DrWeb,
## Avast.Mobile}
## Rule 49: {ESET.NOD32, F.Secure, Ikarus, Avira, MAX} -> {DrWeb}
## Rule 50: {ESET.NOD32, F.Secure, Ikarus, Avira, Antiy.AVL, Tencent} ->
## {NANO.Antivirus, AhnLab.V3}
## Rule 51: {ESET.NOD32, F.Secure, Ikarus, Jiangmin, Avira} -> {K7GW, Cyren, Avast,
## NANO.Antivirus, Comodo, Zillya, Avast.Mobile, Antiy.AVL, AhnLab.V3, Tencent}
## Rule 52: {ESET.NOD32, F.Secure, Ikarus, Avast.Mobile, Avira, Tencent} -> {K7GW,
## Avast, AhnLab.V3}
## Rule 53: {ESET.NOD32, F.Secure, Ikarus, Avast.Mobile, Avira, Antiy.AVL} ->
## {K7GW}
## Rule 54: {ESET.NOD32, F.Secure, Zillya, Ikarus, Avira} -> {K7GW, Cyren,
## NANO.Antivirus, Avast.Mobile, Antiy.AVL}
## Rule 55: {ESET.NOD32, F.Secure, DrWeb, Ikarus, Avira, Antiy.AVL, AhnLab.V3, MAX}
## -> {NANO.Antivirus}
## Rule 56: {ESET.NOD32, Comodo, Ikarus, MaxSecure} -> {K7GW, NANO.Antivirus,
## DrWeb, Antiy.AVL, AhnLab.V3}
## Rule 57: {ESET.NOD32, Comodo, Ikarus, MAX} -> {Avast, Avast.Mobile, Antiy.AVL,
## AhnLab.V3}
## Rule 58: {ESET.NOD32, Comodo, Ikarus, Tencent} -> {AhnLab.V3}
## Rule 59: {ESET.NOD32, Comodo, Ikarus, Antiy.AVL, AhnLab.V3, Tencent} -> {Avast,
## Avast.Mobile}
## Rule 60: {ESET.NOD32, Comodo, Ikarus, Jiangmin} -> {K7GW, NANO.Antivirus,
## Antiy.AVL, AhnLab.V3}
## Rule 61: {ESET.NOD32, Comodo, Ikarus, Avast.Mobile} -> {Antiy.AVL, AhnLab.V3}
## Rule 62: {ESET.NOD32, Comodo, Zillya, Ikarus, Antiy.AVL} -> {AhnLab.V3}
## Rule 63: {ESET.NOD32, Comodo, Zillya, Ikarus, Avira, AhnLab.V3} -> {Tencent}
## Rule 64: {ESET.NOD32, Comodo, Zillya, Ikarus, Avast.Mobile, Antiy.AVL,
## AhnLab.V3} -> {Avast}
## Rule 65: {ESET.NOD32, Comodo, DrWeb, Ikarus, AhnLab.V3} -> {Antiy.AVL}
## Rule 66: {ESET.NOD32, Comodo, DrWeb, Ikarus, Avira, Antiy.AVL, AhnLab.V3} ->
## {Avast.Mobile}
## Rule 67: {ESET.NOD32, Comodo, F.Secure, Ikarus, Avira} -> {K7GW, Avast,
## NANO.Antivirus, Avast.Mobile, Antiy.AVL, AhnLab.V3}
## Rule 68: {ESET.NOD32, NANO.Antivirus, MAX} -> {DrWeb}
## Rule 69: {ESET.NOD32, NANO.Antivirus, Ikarus, Jiangmin, Avira, Antiy.AVL} ->
## {Avast.Mobile}
## Rule 70: {ESET.NOD32, NANO.Antivirus, Ikarus, Avast.Mobile, MaxSecure} -> {K7GW,
## Antiy.AVL}
## Rule 71: {ESET.NOD32, NANO.Antivirus, Zillya, Ikarus, Tencent} -> {AhnLab.V3}
## Rule 72: {ESET.NOD32, NANO.Antivirus, Zillya, Ikarus, Antiy.AVL, AhnLab.V3,
## Tencent} -> {Avast, Avast.Mobile}
## Rule 73: {ESET.NOD32, NANO.Antivirus, Zillya, Ikarus, Avast.Mobile, AhnLab.V3,
## Tencent} -> {Avast, Antiy.AVL}
## Rule 74: {ESET.NOD32, NANO.Antivirus, Zillya, Ikarus, Avast.Mobile, Avira,
## Antiy.AVL} -> {Cyren}
## Rule 75: {ESET.NOD32, NANO.Antivirus, DrWeb, Ikarus, MaxSecure} -> {K7GW}
## Rule 76: {ESET.NOD32, NANO.Antivirus, DrWeb, Ikarus, AhnLab.V3, Tencent, MAX} ->
## {Antiy.AVL}
## Rule 77: {ESET.NOD32, NANO.Antivirus, DrWeb, Ikarus, Jiangmin, Antiy.AVL} ->
## {AhnLab.V3}
## Rule 78: {ESET.NOD32, NANO.Antivirus, DrWeb, Ikarus, Avast.Mobile, Jiangmin,
## Antiy.AVL, AhnLab.V3} -> {Avast}
## Rule 79: {ESET.NOD32, NANO.Antivirus, DrWeb, Zillya, Tencent} -> {Antiy.AVL}
## Rule 80: {ESET.NOD32, NANO.Antivirus, F.Secure, Ikarus, Avira, AhnLab.V3,
## Tencent} -> {Antiy.AVL}
## Rule 81: {ESET.NOD32, NANO.Antivirus, F.Secure, Ikarus, Avast.Mobile, Avira} ->
## {K7GW}
## Rule 82: {ESET.NOD32, NANO.Antivirus, F.Secure, DrWeb, Ikarus, Avira, AhnLab.V3,
## MAX} -> {Antiy.AVL}
## Rule 83: {ESET.NOD32, NANO.Antivirus, Comodo, DrWeb, Zillya, Ikarus, Avira} ->
## {Cyren}
## Rule 84: {ESET.NOD32, Avast, Ikarus, Avast.Mobile, Avira, MAX} -> {AhnLab.V3}
## Rule 85: {ESET.NOD32, Avast, Zillya, Ikarus, Avast.Mobile} -> {Antiy.AVL,
## AhnLab.V3}
## Rule 86: {ESET.NOD32, Avast, DrWeb, Ikarus, Avast.Mobile, MaxSecure} ->
## {AhnLab.V3}
## Rule 87: {ESET.NOD32, Avast, DrWeb, Ikarus, Avast.Mobile, MAX} -> {AhnLab.V3}
## Rule 88: {ESET.NOD32, Avast, DrWeb, Ikarus, Avast.Mobile, Antiy.AVL} ->
## {AhnLab.V3}
## Rule 89: {ESET.NOD32, Avast, DrWeb, Zillya, Ikarus, Avast.Mobile, Avira,
## Antiy.AVL, AhnLab.V3, MAX} -> {Cyren, Tencent}
## Rule 90: {ESET.NOD32, Avast, F.Secure, Ikarus, Avast.Mobile, Avira} ->
## {AhnLab.V3}
## Rule 91: {ESET.NOD32, Avast, F.Secure, DrWeb, Ikarus, Avast.Mobile, Avira,
## AhnLab.V3, MAX} -> {K7GW}
## Rule 92: {ESET.NOD32, Avast, Comodo, DrWeb, Ikarus, Avast.Mobile, Antiy.AVL,
## AhnLab.V3, MAX} -> {NANO.Antivirus}
## Rule 93: {ESET.NOD32, Avast, NANO.Antivirus, DrWeb, Ikarus, Avast.Mobile,
## AhnLab.V3, MAX} -> {Antiy.AVL}
## Rule 94: {ESET.NOD32, Avast, NANO.Antivirus, Comodo, Zillya, Ikarus,
## Avast.Mobile, Antiy.AVL, AhnLab.V3} -> {Cyren}
## Rule 95: {ESET.NOD32, Avast, NANO.Antivirus, Rising, DrWeb, Ikarus,
## Avast.Mobile, Avira, Antiy.AVL, AhnLab.V3, MAX} -> {K7GW, Cyren, Zillya,
## Tencent, MaxSecure}
## Rule 96: {ESET.NOD32, Avast, NANO.Antivirus, Rising, DrWeb, Ikarus,
## Avast.Mobile, Avira, Antiy.AVL, AhnLab.V3, Tencent} -> {K7GW, Cyren, Zillya}
## Rule 97: {ESET.NOD32, Avast, NANO.Antivirus, Rising, Comodo, DrWeb, Ikarus,
## Avast.Mobile, Avira, Antiy.AVL, AhnLab.V3} -> {K7GW, Cyren, Zillya, Tencent,
## MaxSecure}
## Rule 98: {Cyren, Tencent} -> {ESET.NOD32, Ikarus}
## Rule 99: {Cyren, Avira, MaxSecure} -> {K7GW, Avast.Mobile}
## Rule 100: {Cyren, Ikarus} -> {ESET.NOD32}
## Rule 101: {Cyren, ESET.NOD32} -> {Ikarus}
## Rule 102: {Cyren, ESET.NOD32, Ikarus, MAX} -> {Avast, DrWeb, Avast.Mobile,
## AhnLab.V3}
## Rule 103: {Cyren, ESET.NOD32, Ikarus, AhnLab.V3, MaxSecure} -> {DrWeb}
## Rule 104: {Cyren, ESET.NOD32, Ikarus, AhnLab.V3, Tencent} -> {Avast.Mobile}
## Rule 105: {Cyren, ESET.NOD32, Ikarus, Antiy.AVL, MaxSecure} -> {K7GW,
## NANO.Antivirus}
## Rule 106: {Cyren, ESET.NOD32, Ikarus, Avira, Tencent} -> {Avast.Mobile}
## Rule 107: {Cyren, ESET.NOD32, Ikarus, Jiangmin} -> {K7GW, NANO.Antivirus,
## Avast.Mobile, Avira, Antiy.AVL, Tencent}
## Rule 108: {Cyren, ESET.NOD32, Zillya, Ikarus, AhnLab.V3} -> {Antiy.AVL}
## Rule 109: {Cyren, ESET.NOD32, Zillya, Ikarus, Avira, Antiy.AVL} ->
## {Avast.Mobile}
## Rule 110: {Cyren, ESET.NOD32, Zillya, Ikarus, Avast.Mobile, Avira} ->
## {Antiy.AVL}
## Rule 111: {Cyren, ESET.NOD32, DrWeb, Ikarus, Tencent} -> {Avast.Mobile,
## AhnLab.V3}
## Rule 112: {Cyren, ESET.NOD32, DrWeb, Ikarus, Avira, AhnLab.V3} -> {Avast.Mobile}
## Rule 113: {Cyren, ESET.NOD32, DrWeb, Ikarus, Avira, Antiy.AVL} -> {Avast.Mobile}
## Rule 114: {Cyren, ESET.NOD32, DrWeb, Zillya, Ikarus, Avast.Mobile} ->
## {Antiy.AVL}
## Rule 115: {Cyren, ESET.NOD32, F.Secure, Ikarus, Avira} -> {K7GW, Avast.Mobile}
## Rule 116: {Cyren, ESET.NOD32, Comodo, Ikarus} -> {NANO.Antivirus}
## Rule 117: {Cyren, ESET.NOD32, NANO.Antivirus, Ikarus, MaxSecure} -> {K7GW,
## Antiy.AVL}
## Rule 118: {Cyren, ESET.NOD32, NANO.Antivirus, Ikarus, Tencent} -> {Avast.Mobile}
## Rule 119: {Cyren, ESET.NOD32, NANO.Antivirus, Zillya, Ikarus, Avast.Mobile} ->
## {Antiy.AVL}
## Rule 120: {Cyren, ESET.NOD32, NANO.Antivirus, Comodo, Ikarus, AhnLab.V3} ->
## {Antiy.AVL}
## Rule 121: {Cyren, ESET.NOD32, NANO.Antivirus, Comodo, Ikarus, Antiy.AVL} ->
## {AhnLab.V3}
## Rule 122: {Cyren, ESET.NOD32, NANO.Antivirus, Comodo, Ikarus, Avast.Mobile,
## Antiy.AVL, AhnLab.V3} -> {Avast}
## Rule 123: {Cyren, ESET.NOD32, Avast, NANO.Antivirus, Ikarus, Avast.Mobile,
## Tencent} -> {Antiy.AVL}
## Rule 124: {Cyren, ESET.NOD32, Avast, NANO.Antivirus, Ikarus, Avast.Mobile,
## AhnLab.V3} -> {Antiy.AVL}
## Rule 125: {Cyren, ESET.NOD32, Avast, NANO.Antivirus, Rising, DrWeb, Ikarus,
## Avast.Mobile, Avira, Antiy.AVL, AhnLab.V3} -> {K7GW, Zillya, Tencent}
## Rule 126: {K7GW, Tencent} -> {Ikarus}
## Rule 127: {K7GW, Zillya, Avast.Mobile, Avira, MaxSecure} -> {Cyren}
## Rule 128: {K7GW, Avast, Zillya, Avast.Mobile, Avira} -> {Cyren}
## Rule 129: {K7GW, ESET.NOD32} -> {Ikarus}
## Rule 130: {K7GW, ESET.NOD32, Ikarus, AhnLab.V3, MaxSecure} -> {DrWeb}
## Rule 131: {K7GW, ESET.NOD32, Ikarus, AhnLab.V3, Tencent, MAX} -> {Avast,
## Avast.Mobile}
## Rule 132: {K7GW, ESET.NOD32, Ikarus, Avira, Tencent, MaxSecure} ->
## {Avast.Mobile}
## Rule 133: {K7GW, ESET.NOD32, Ikarus, Avira, Antiy.AVL, Tencent} ->
## {Avast.Mobile}
## Rule 134: {K7GW, ESET.NOD32, Ikarus, Avast.Mobile, Tencent, Yandex, MaxSecure}
## -> {Zillya}
## Rule 135: {K7GW, ESET.NOD32, Ikarus, Avast.Mobile, AhnLab.V3, Tencent, Yandex}
## -> {CAT.QuickHeal}
## Rule 136: {K7GW, ESET.NOD32, Ikarus, Avast.Mobile, Antiy.AVL, Yandex} -> {Cyren,
## NANO.Antivirus, DrWeb}
## Rule 137: {K7GW, ESET.NOD32, Ikarus, Avast.Mobile, Antiy.AVL, Tencent,
## MaxSecure} -> {NANO.Antivirus}
## Rule 138: {K7GW, ESET.NOD32, Ikarus, Avast.Mobile, Avira, Yandex} ->
## {CAT.QuickHeal, Cyren, NANO.Antivirus}
## Rule 139: {K7GW, ESET.NOD32, Zillya, Ikarus, Antiy.AVL, MaxSecure} -> {DrWeb}
## Rule 140: {K7GW, ESET.NOD32, Zillya, Ikarus, Avira, MaxSecure} ->
## {NANO.Antivirus, DrWeb, Antiy.AVL}
## Rule 141: {K7GW, ESET.NOD32, Zillya, Ikarus, Avast.Mobile, Tencent, Yandex} ->
## {MaxSecure}
## Rule 142: {K7GW, ESET.NOD32, Zillya, Ikarus, Avast.Mobile, AhnLab.V3, Yandex} ->
## {DrWeb}
## Rule 143: {K7GW, ESET.NOD32, Zillya, Ikarus, Avast.Mobile, Avira, Antiy.AVL} ->
## {Cyren}
## Rule 144: {K7GW, ESET.NOD32, DrWeb, Ikarus, Tencent, MaxSecure} -> {AhnLab.V3}
## Rule 145: {K7GW, ESET.NOD32, DrWeb, Ikarus, Antiy.AVL, AhnLab.V3, MAX,
## MaxSecure} -> {NANO.Antivirus}
## Rule 146: {K7GW, ESET.NOD32, DrWeb, Ikarus, Avira, AhnLab.V3, Tencent} ->
## {Avast.Mobile}
## Rule 147: {K7GW, ESET.NOD32, DrWeb, Zillya, Ikarus, Avast.Mobile, Antiy.AVL,
## MaxSecure} -> {NANO.Antivirus}
## Rule 148: {K7GW, ESET.NOD32, F.Secure, Ikarus, Avira, AhnLab.V3} ->
## {Avast.Mobile}
## Rule 149: {K7GW, ESET.NOD32, F.Secure, Ikarus, Avira, Antiy.AVL} ->
## {Avast.Mobile}
## Rule 150: {K7GW, ESET.NOD32, Comodo, Ikarus, Avast.Mobile, Antiy.AVL, AhnLab.V3}
## -> {Avast}
## Rule 151: {K7GW, ESET.NOD32, Comodo, Zillya, Ikarus} -> {NANO.Antivirus}
## Rule 152: {K7GW, ESET.NOD32, Comodo, DrWeb, Ikarus} -> {NANO.Antivirus}
## Rule 153: {K7GW, ESET.NOD32, NANO.Antivirus, Ikarus, Tencent, MaxSecure} ->
## {Avast.Mobile, Antiy.AVL}
## Rule 154: {K7GW, ESET.NOD32, NANO.Antivirus, Ikarus, Antiy.AVL, Tencent} ->
## {Avast.Mobile}
## Rule 155: {K7GW, ESET.NOD32, NANO.Antivirus, Ikarus, Jiangmin, AhnLab.V3,
## Tencent} -> {Avast.Mobile, Antiy.AVL}
## Rule 156: {K7GW, ESET.NOD32, NANO.Antivirus, Ikarus, Avast.Mobile, Yandex} ->
## {Cyren}
## Rule 157: {K7GW, ESET.NOD32, NANO.Antivirus, Ikarus, Avast.Mobile, Jiangmin,
## Antiy.AVL, MaxSecure} -> {Avast, Tencent}
## Rule 158: {K7GW, ESET.NOD32, NANO.Antivirus, Ikarus, Avast.Mobile, Jiangmin,
## Avira, Antiy.AVL, Tencent} -> {Cyren}
## Rule 159: {K7GW, ESET.NOD32, NANO.Antivirus, Zillya, Ikarus, MaxSecure} ->
## {DrWeb, Antiy.AVL}
## Rule 160: {K7GW, ESET.NOD32, NANO.Antivirus, Zillya, Ikarus, Avast.Mobile,
## Jiangmin, Antiy.AVL, AhnLab.V3} -> {Cyren, Avast, Avira, Tencent}
## Rule 161: {K7GW, ESET.NOD32, NANO.Antivirus, DrWeb, Ikarus, AhnLab.V3, Tencent}
## -> {Avast.Mobile}
## Rule 162: {K7GW, ESET.NOD32, NANO.Antivirus, DrWeb, Ikarus, Jiangmin, MaxSecure}
## -> {AhnLab.V3}
## Rule 163: {K7GW, ESET.NOD32, NANO.Antivirus, DrWeb, Ikarus, Jiangmin, Antiy.AVL,
## AhnLab.V3, MaxSecure} -> {Comodo}
## Rule 164: {K7GW, ESET.NOD32, NANO.Antivirus, DrWeb, Ikarus, Jiangmin, Avira,
## AhnLab.V3, MAX, MaxSecure} -> {CAT.QuickHeal}
## Rule 165: {K7GW, ESET.NOD32, NANO.Antivirus, Comodo, DrWeb, Zillya, Ikarus,
## Jiangmin, Antiy.AVL, AhnLab.V3} -> {MaxSecure}
## Rule 166: {K7GW, ESET.NOD32, Avast, Ikarus, Avast.Mobile, Yandex} -> {Cyren,
## NANO.Antivirus, DrWeb}
## Rule 167: {K7GW, ESET.NOD32, Avast, Ikarus, Avast.Mobile, Antiy.AVL, MaxSecure}
## -> {NANO.Antivirus}
## Rule 168: {K7GW, ESET.NOD32, Avast, F.Secure, Ikarus, Avast.Mobile, Avira,
## Antiy.AVL, AhnLab.V3} -> {NANO.Antivirus}
## Rule 169: {K7GW, ESET.NOD32, Avast, F.Secure, DrWeb, Ikarus, Avast.Mobile,
## Avira, AhnLab.V3, MaxSecure} -> {Cyren}
## Rule 170: {K7GW, ESET.NOD32, Avast, NANO.Antivirus, F.Secure, Ikarus,
## Avast.Mobile, Avira, AhnLab.V3} -> {Antiy.AVL}
## Rule 171: {K7GW, ESET.NOD32, Avast, NANO.Antivirus, Comodo, DrWeb, Ikarus,
## Avast.Mobile, Antiy.AVL, AhnLab.V3, Tencent, MAX, MaxSecure} -> {Avira}
## Rule 172: {K7GW, ESET.NOD32, Avast, NANO.Antivirus, Rising, DrWeb, Ikarus,
## Avast.Mobile, Avira, Antiy.AVL, AhnLab.V3} -> {Cyren, Zillya, Tencent}
## Rule 173: {K7GW, ESET.NOD32, TrendMicro.HouseCall, Zillya, Ikarus, Tencent,
## MaxSecure} -> {Cyren, Avast.Mobile}
## Rule 174: {K7GW, ESET.NOD32, TrendMicro.HouseCall, Zillya, Ikarus, AhnLab.V3,
## Tencent} -> {NANO.Antivirus, Comodo, Avira}
## Rule 175: {K7GW, ESET.NOD32, TrendMicro.HouseCall, Zillya, Ikarus, Antiy.AVL,
## Tencent} -> {VIPRE, Cyren, Avast, NANO.Antivirus, Comodo, DrWeb, Avast.Mobile,
## Jiangmin, Avira, AhnLab.V3, MaxSecure}
## Rule 176: {K7GW, ESET.NOD32, TrendMicro.HouseCall, Zillya, Ikarus, Avast.Mobile,
## Tencent} -> {Cyren, MaxSecure}
## Rule 177: {K7GW, Cyren, ESET.NOD32, Ikarus, Tencent, MaxSecure} ->
## {Avast.Mobile}
## Rule 178: {K7GW, Cyren, ESET.NOD32, Ikarus, Avast.Mobile, AhnLab.V3, Yandex} ->
## {NANO.Antivirus}
## Rule 179: {K7GW, Cyren, ESET.NOD32, Zillya, Ikarus, Avast.Mobile, Tencent,
## Yandex, MaxSecure} -> {TrendMicro.HouseCall}
## Rule 180: {K7GW, Cyren, ESET.NOD32, DrWeb, Ikarus, Avast.Mobile, Yandex} ->
## {NANO.Antivirus}
## Rule 181: {K7GW, Cyren, ESET.NOD32, DrWeb, Ikarus, Avast.Mobile, AhnLab.V3,
## Tencent, MaxSecure} -> {Avira}
## Rule 182: {K7GW, Cyren, ESET.NOD32, DrWeb, Zillya, Ikarus, MaxSecure} ->
## {NANO.Antivirus, Antiy.AVL}
## Rule 183: {K7GW, Cyren, ESET.NOD32, F.Secure, Ikarus, Avast.Mobile, Avira,
## Antiy.AVL} -> {NANO.Antivirus}
## Rule 184: {K7GW, Cyren, ESET.NOD32, F.Secure, DrWeb, Ikarus, Avast.Mobile,
## Avira, AhnLab.V3, MaxSecure} -> {Avast}
## Rule 185: {K7GW, Cyren, ESET.NOD32, NANO.Antivirus, Ikarus, Avast.Mobile,
## Tencent, Yandex} -> {CAT.QuickHeal, Avira, AhnLab.V3}
## Rule 186: {K7GW, Cyren, ESET.NOD32, NANO.Antivirus, Ikarus, Avast.Mobile,
## Antiy.AVL, Tencent, MaxSecure} -> {Avira}
## Rule 187: {K7GW, Cyren, ESET.NOD32, NANO.Antivirus, DrWeb, Ikarus, Avast.Mobile,
## AhnLab.V3, Yandex} -> {Antiy.AVL}
## Rule 188: {K7GW, Cyren, ESET.NOD32, NANO.Antivirus, DrWeb, Ikarus, Avast.Mobile,
## Antiy.AVL, AhnLab.V3, Yandex, MaxSecure} -> {Avast, Comodo, MAX}
## Rule 189: {K7GW, Cyren, ESET.NOD32, NANO.Antivirus, F.Secure, Ikarus,
## Avast.Mobile, Avira} -> {Antiy.AVL}
## Rule 190: {K7GW, Cyren, ESET.NOD32, Avast, Ikarus, Avast.Mobile, Tencent,
## MaxSecure} -> {Avira}
## Rule 191: {K7GW, Cyren, ESET.NOD32, Avast, F.Secure, DrWeb, Ikarus,
## Avast.Mobile, Avira, AhnLab.V3} -> {MaxSecure}
## Rule 192: {K7GW, Cyren, ESET.NOD32, Avast, NANO.Antivirus, DrWeb, Ikarus,
## Avast.Mobile, Antiy.AVL, AhnLab.V3, Yandex} -> {Comodo, MAX, MaxSecure}
## Rule 193: {K7GW, Cyren, ESET.NOD32, Avast, NANO.Antivirus, F.Secure, DrWeb,
## Ikarus, Avast.Mobile, Avira, Antiy.AVL, AhnLab.V3, Tencent, MAX, MaxSecure} ->
## {Zillya}
## Rule 194: {K7GW, Cyren, ESET.NOD32, Avast, NANO.Antivirus, F.Secure, DrWeb,
## Zillya, Ikarus, Avast.Mobile, Avira, Antiy.AVL, AhnLab.V3, Tencent, MaxSecure}
## -> {MAX}
## Rule 195: {K7GW, Cyren, ESET.NOD32, Avast, NANO.Antivirus, Comodo, DrWeb,
## Ikarus, Avast.Mobile, Jiangmin, Avira, Antiy.AVL, AhnLab.V3, Tencent,
## MaxSecure} -> {VIPRE, TrendMicro.HouseCall, Zillya}
## Rule 196: {K7GW, Cyren, ESET.NOD32, Avast, NANO.Antivirus, Comodo, DrWeb,
## Ikarus, Avast.Mobile, Jiangmin, Avira, Antiy.AVL, AhnLab.V3, Tencent, MAX} ->
## {CAT.QuickHeal}
## Rule 197: {K7GW, Cyren, ESET.NOD32, Avast, NANO.Antivirus, Comodo, DrWeb,
## Zillya, Ikarus, Avast.Mobile, Avira, Antiy.AVL, AhnLab.V3, Tencent} ->
## {MaxSecure}
## Rule 198: {K7GW, Cyren, ESET.NOD32, Avast, NANO.Antivirus, Rising, DrWeb,
## Zillya, Ikarus, Avast.Mobile, Jiangmin, Avira, Antiy.AVL, AhnLab.V3, Tencent}
## -> {CAT.QuickHeal, VIPRE, TrendMicro.HouseCall, Comodo, F.Secure, Yandex, MAX,
## MaxSecure, [BitDefender, MicroWorld.eScan, FireEye, Emsisoft, GData]}
## Rule 199: {K7GW, Cyren, ESET.NOD32, Avast, NANO.Antivirus, Rising, F.Secure,
## DrWeb, Zillya, Ikarus, Avast.Mobile, Avira, Antiy.AVL, AhnLab.V3, Tencent,
## MAX, MaxSecure} -> {CAT.QuickHeal, VIPRE, TrendMicro.HouseCall, Comodo,
## Jiangmin, Yandex, [BitDefender, MicroWorld.eScan, FireEye, Emsisoft, GData]}
## Rule 200: {K7GW, Cyren, ESET.NOD32, Avast, NANO.Antivirus, Rising, Comodo,
## DrWeb, Zillya, Ikarus, Avast.Mobile, Avira, Antiy.AVL, AhnLab.V3, Tencent,
## MAX, MaxSecure} -> {CAT.QuickHeal, VIPRE, TrendMicro.HouseCall, F.Secure,
## Jiangmin, Yandex, [BitDefender, MicroWorld.eScan, FireEye, Emsisoft, GData]}
## Rule 201: {K7GW, Cyren, ESET.NOD32, TrendMicro.HouseCall, Zillya, Ikarus,
## Tencent} -> {Avast.Mobile, MaxSecure}
## Rule 202: {VIPRE} -> {ESET.NOD32, NANO.Antivirus, Ikarus, Avira, Antiy.AVL,
## AhnLab.V3, MaxSecure}
## Rule 203: {VIPRE, K7GW, ESET.NOD32, NANO.Antivirus, DrWeb, Ikarus, Avira,
## Antiy.AVL, AhnLab.V3, MaxSecure} -> {Cyren, TrendMicro.HouseCall, Avast,
## Comodo, Zillya, Avast.Mobile, Jiangmin, Tencent}
## Rule 204: {CAT.QuickHeal, MaxSecure} -> {K7GW}
## Rule 205: {CAT.QuickHeal, Tencent} -> {Ikarus}
## Rule 206: {CAT.QuickHeal, Zillya} -> {K7GW}
## Rule 207: {CAT.QuickHeal, Avast, Avast.Mobile} -> {K7GW}
## Rule 208: {CAT.QuickHeal, ESET.NOD32} -> {Ikarus}
## Rule 209: {CAT.QuickHeal, ESET.NOD32, Ikarus, MAX} -> {K7GW}
## Rule 210: {CAT.QuickHeal, ESET.NOD32, Ikarus, AhnLab.V3, Tencent} ->
## {Avast.Mobile}
## Rule 211: {CAT.QuickHeal, ESET.NOD32, Ikarus, Antiy.AVL, Tencent} -> {K7GW}
## Rule 212: {CAT.QuickHeal, ESET.NOD32, Ikarus, Antiy.AVL, AhnLab.V3} ->
## {Avast.Mobile, Avira}
## Rule 213: {CAT.QuickHeal, ESET.NOD32, Ikarus, Avira, Antiy.AVL} ->
## {Avast.Mobile}
## Rule 214: {CAT.QuickHeal, ESET.NOD32, Ikarus, Jiangmin} -> {K7GW, Avira}
## Rule 215: {CAT.QuickHeal, ESET.NOD32, Ikarus, Avast.Mobile, Antiy.AVL} ->
## {Avira}
## Rule 216: {CAT.QuickHeal, ESET.NOD32, Ikarus, Avast.Mobile, Avira, Tencent} ->
## {AhnLab.V3}
## Rule 217: {CAT.QuickHeal, ESET.NOD32, DrWeb, Ikarus, Antiy.AVL} ->
## {Avast.Mobile, Avira}
## Rule 218: {CAT.QuickHeal, ESET.NOD32, F.Secure, Ikarus, Avira} -> {K7GW, DrWeb}
## Rule 219: {CAT.QuickHeal, ESET.NOD32, Comodo, Ikarus} -> {Avast.Mobile, Avira,
## Antiy.AVL, AhnLab.V3}
## Rule 220: {CAT.QuickHeal, ESET.NOD32, Comodo, DrWeb, Ikarus, Avast.Mobile,
## Avira, Antiy.AVL, AhnLab.V3} -> {NANO.Antivirus}
## Rule 221: {CAT.QuickHeal, ESET.NOD32, NANO.Antivirus, Ikarus, Tencent} -> {K7GW,
## Avira}
## Rule 222: {CAT.QuickHeal, ESET.NOD32, NANO.Antivirus, Ikarus, Antiy.AVL} ->
## {Avast.Mobile, Avira}
## Rule 223: {CAT.QuickHeal, ESET.NOD32, NANO.Antivirus, Comodo, Ikarus,
## Avast.Mobile, Avira, Antiy.AVL, AhnLab.V3} -> {DrWeb}
## Rule 224: {CAT.QuickHeal, Cyren} -> {K7GW}
## Rule 225: {CAT.QuickHeal, K7GW, Zillya, MaxSecure} -> {Avast.Mobile}
## Rule 226: {CAT.QuickHeal, K7GW, Zillya, Avira} -> {Avast.Mobile}
## Rule 227: {CAT.QuickHeal, K7GW, Avast, Avast.Mobile, MaxSecure} -> {Cyren,
## Avira}
## Rule 228: {CAT.QuickHeal, K7GW, Avast, Zillya, Avast.Mobile} -> {Cyren, Avira}
## Rule 229: {CAT.QuickHeal, K7GW, ESET.NOD32, Ikarus, MaxSecure} -> {DrWeb}
## Rule 230: {CAT.QuickHeal, K7GW, ESET.NOD32, Ikarus, AhnLab.V3, MAX} -> {Avira}
## Rule 231: {CAT.QuickHeal, K7GW, ESET.NOD32, Ikarus, Avast.Mobile, Tencent,
## Yandex} -> {AhnLab.V3}
## Rule 232: {CAT.QuickHeal, K7GW, ESET.NOD32, Zillya, Ikarus, AhnLab.V3} ->
## {DrWeb, Avast.Mobile}
## Rule 233: {CAT.QuickHeal, K7GW, ESET.NOD32, Zillya, Ikarus, Antiy.AVL} ->
## {Cyren}
## Rule 234: {CAT.QuickHeal, K7GW, ESET.NOD32, Zillya, Ikarus, Avast.Mobile} ->
## {DrWeb}
## Rule 235: {CAT.QuickHeal, K7GW, ESET.NOD32, DrWeb, Ikarus, MAX} -> {Avira}
## Rule 236: {CAT.QuickHeal, K7GW, ESET.NOD32, DrWeb, Ikarus, Avira, MaxSecure,
## [BitDefender, MicroWorld.eScan, FireEye, Emsisoft, GData]} -> {Cyren, Avast,
## Avast.Mobile, AhnLab.V3, MAX}
## Rule 237: {CAT.QuickHeal, K7GW, ESET.NOD32, DrWeb, Ikarus, Avira, AhnLab.V3,
## [BitDefender, MicroWorld.eScan, FireEye, Emsisoft, GData]} -> {Avast,
## Avast.Mobile, MAX}
## Rule 238: {CAT.QuickHeal, K7GW, ESET.NOD32, DrWeb, Ikarus, Jiangmin, Avira,
## [BitDefender, MicroWorld.eScan, FireEye, Emsisoft, GData]} -> {NANO.Antivirus,
## Tencent}
## Rule 239: {CAT.QuickHeal, K7GW, ESET.NOD32, DrWeb, Ikarus, Avast.Mobile,
## AhnLab.V3, Tencent, Yandex} -> {Zillya, MaxSecure}
## Rule 240: {CAT.QuickHeal, K7GW, ESET.NOD32, DrWeb, Ikarus, Avast.Mobile,
## Avira, [BitDefender, MicroWorld.eScan, FireEye, Emsisoft, GData]} -> {Avast,
## AhnLab.V3, MAX}
## Rule 241: {CAT.QuickHeal, K7GW, ESET.NOD32, DrWeb, Ikarus, Avast.Mobile, Avira,
## AhnLab.V3, Tencent, MaxSecure} -> {Cyren}
## Rule 242: {CAT.QuickHeal, K7GW, ESET.NOD32, DrWeb, Zillya, Ikarus} ->
## {Avast.Mobile}
## Rule 243: {CAT.QuickHeal, K7GW, ESET.NOD32, DrWeb, Zillya, Ikarus, Avast.Mobile,
## AhnLab.V3, Yandex, MaxSecure} -> {Tencent}
## Rule 244: {CAT.QuickHeal, K7GW, ESET.NOD32, DrWeb, Zillya, Ikarus, Avast.Mobile,
## AhnLab.V3, Tencent, MaxSecure} -> {Yandex}
## Rule 245: {CAT.QuickHeal, K7GW, ESET.NOD32, F.Secure, DrWeb, Ikarus, Avira,
## [BitDefender, MicroWorld.eScan, FireEye, Emsisoft, GData]} -> {Avast,
## Avast.Mobile, AhnLab.V3, MAX}
## Rule 246: {CAT.QuickHeal, K7GW, ESET.NOD32, F.Secure, DrWeb, Ikarus, Avira,
## Tencent} -> {MAX}
## Rule 247: {CAT.QuickHeal, K7GW, ESET.NOD32, F.Secure, DrWeb, Ikarus,
## Avast.Mobile, Avira, Antiy.AVL} -> {NANO.Antivirus}
## Rule 248: {CAT.QuickHeal, K7GW, ESET.NOD32, NANO.Antivirus, Ikarus,
## Avast.Mobile, Jiangmin, Avira, Antiy.AVL} -> {Cyren, AhnLab.V3, Tencent}
## Rule 249: {CAT.QuickHeal, K7GW, ESET.NOD32, NANO.Antivirus, Zillya, Ikarus} ->
## {DrWeb, Avast.Mobile}
## Rule 250: {CAT.QuickHeal, K7GW, ESET.NOD32, NANO.Antivirus, DrWeb, Ikarus,
## MaxSecure} -> {Avira}
## Rule 251: {CAT.QuickHeal, K7GW, ESET.NOD32, NANO.Antivirus, DrWeb, Ikarus,
## Avira, MAX, [BitDefender, MicroWorld.eScan, FireEye, Emsisoft, GData]} ->
## {Avast, Comodo, Avast.Mobile, Antiy.AVL, AhnLab.V3}
## Rule 252: {CAT.QuickHeal, K7GW, ESET.NOD32, NANO.Antivirus, DrWeb, Ikarus,
## Jiangmin, Avira, AhnLab.V3, MaxSecure} -> {MAX}
## Rule 253: {CAT.QuickHeal, K7GW, ESET.NOD32, NANO.Antivirus, DrWeb, Ikarus,
## Avast.Mobile, Avira, Antiy.AVL, MaxSecure} -> {Cyren}
## Rule 254: {CAT.QuickHeal, K7GW, ESET.NOD32, NANO.Antivirus, F.Secure, DrWeb,
## Ikarus, Avast.Mobile, Avira} -> {Antiy.AVL}
## Rule 255: {CAT.QuickHeal, K7GW, ESET.NOD32, Avast, Ikarus, Avast.Mobile,
## AhnLab.V3} -> {Avira}
## Rule 256: {CAT.QuickHeal, K7GW, ESET.NOD32, Avast, Ikarus, Avast.Mobile, Avira,
## Antiy.AVL} -> {AhnLab.V3}
## Rule 257: {CAT.QuickHeal, K7GW, ESET.NOD32, Avast, DrWeb, Ikarus, Avast.Mobile}
## -> {Avira}
## Rule 258: {CAT.QuickHeal, K7GW, ESET.NOD32, Avast, DrWeb, Ikarus, Avast.Mobile,
## Avira, AhnLab.V3, Tencent, MAX, [BitDefender, MicroWorld.eScan, FireEye,
## Emsisoft, GData]} -> {F.Secure}
## Rule 259: {CAT.QuickHeal, K7GW, ESET.NOD32, Avast, DrWeb, Ikarus, Avast.Mobile,
## Avira, Antiy.AVL, AhnLab.V3, MAX, [BitDefender, MicroWorld.eScan, FireEye,
## Emsisoft, GData]} -> {NANO.Antivirus, Comodo}
## Rule 260: {CAT.QuickHeal, K7GW, ESET.NOD32, Avast, F.Secure, DrWeb, Ikarus,
## Avast.Mobile, Avira, AhnLab.V3, MAX} -> {[BitDefender, MicroWorld.eScan,
## FireEye, Emsisoft, GData]}
## Rule 261: {CAT.QuickHeal, K7GW, ESET.NOD32, Avast, Comodo, Ikarus, Avast.Mobile,
## Avira, Antiy.AVL, AhnLab.V3} -> {MAX}
## Rule 262: {CAT.QuickHeal, K7GW, ESET.NOD32, Avast, NANO.Antivirus, Ikarus,
## Avast.Mobile} -> {DrWeb, Avira}
## Rule 263: {CAT.QuickHeal, K7GW, ESET.NOD32, Avast, NANO.Antivirus, DrWeb,
## Ikarus, Avast.Mobile, Avira, Antiy.AVL, AhnLab.V3, MAX} -> {Comodo}
## Rule 264: {CAT.QuickHeal, K7GW, ESET.NOD32, TrendMicro.HouseCall, Zillya,
## Ikarus, Tencent} -> {VIPRE, Cyren, Avast, NANO.Antivirus, Rising, Comodo,
## F.Secure, DrWeb, Avast.Mobile, Jiangmin, Avira, Antiy.AVL, AhnLab.V3, Yandex,
## MAX, MaxSecure, [BitDefender, MicroWorld.eScan, FireEye, Emsisoft, GData]}
## Rule 265: {CAT.QuickHeal, K7GW, Cyren, MaxSecure} -> {Avast.Mobile, Avira}
## Rule 266: {CAT.QuickHeal, K7GW, Cyren, Avira} -> {Avast.Mobile}
## Rule 267: {CAT.QuickHeal, K7GW, Cyren, Avast.Mobile} -> {Avira}
## Rule 268: {CAT.QuickHeal, K7GW, Cyren, ESET.NOD32, Ikarus, AhnLab.V3} ->
## {Avast.Mobile, Avira}
## Rule 269: {CAT.QuickHeal, K7GW, Cyren, ESET.NOD32, Zillya, Ikarus} ->
## {Antiy.AVL}
## Rule 270: {CAT.QuickHeal, K7GW, Cyren, ESET.NOD32, DrWeb, Ikarus} ->
## {Avast.Mobile, Avira}
## Rule 271: {CAT.QuickHeal, K7GW, Cyren, ESET.NOD32, NANO.Antivirus, Ikarus} ->
## {Avast.Mobile, Avira}
## Rule 272: {CAT.QuickHeal, K7GW, Cyren, ESET.NOD32, NANO.Antivirus, DrWeb,
## Zillya, Ikarus, Avast.Mobile, Avira, Antiy.AVL, Yandex, MaxSecure} ->
## {F.Secure}
## Rule 273: {CAT.QuickHeal, K7GW, Cyren, ESET.NOD32, NANO.Antivirus, F.Secure,
## DrWeb, Ikarus, Avast.Mobile, Avira, Antiy.AVL, Yandex} -> {MaxSecure}
## Rule 274: {CAT.QuickHeal, K7GW, Cyren, ESET.NOD32, Avast, Ikarus, Avast.Mobile,
## Avira} -> {DrWeb}
## Rule 275: {CAT.QuickHeal, K7GW, Cyren, ESET.NOD32, Avast, DrWeb, Ikarus,
## Avast.Mobile, Avira, AhnLab.V3, MAX, [BitDefender, MicroWorld.eScan, FireEye,
## Emsisoft, GData]} -> {MaxSecure}
## Rule 276: {CAT.QuickHeal, K7GW, Cyren, ESET.NOD32, Avast, DrWeb, Ikarus,
## Avast.Mobile, Avira, AhnLab.V3, MAX, MaxSecure} -> {[BitDefender,
## MicroWorld.eScan, FireEye, Emsisoft, GData]}
## Rule 277: {CAT.QuickHeal, K7GW, Cyren, ESET.NOD32, Avast, DrWeb, Ikarus,
## Avast.Mobile, Avira, AhnLab.V3, Tencent, MaxSecure} -> {F.Secure, MAX,
## [BitDefender, MicroWorld.eScan, FireEye, Emsisoft, GData]}
## Rule 278: {CAT.QuickHeal, K7GW, Cyren, ESET.NOD32, Avast, DrWeb, Zillya, Ikarus,
## Avast.Mobile, Avira, Antiy.AVL, AhnLab.V3, Tencent} -> {MAX}
## Rule 279: {CAT.QuickHeal, K7GW, Cyren, ESET.NOD32, Avast, NANO.Antivirus, DrWeb,
## Ikarus, Avast.Mobile, Avira, Antiy.AVL, AhnLab.V3, Tencent} -> {Jiangmin}
## Rule 280: {CAT.QuickHeal, K7GW, Cyren, ESET.NOD32, Avast, NANO.Antivirus,
## Comodo, DrWeb, Ikarus, Avast.Mobile, Avira, Antiy.AVL, AhnLab.V3, MAX,
## MaxSecure, [BitDefender, MicroWorld.eScan, FireEye, Emsisoft, GData]} ->
## {Yandex}
mapa_calor <- plot_interactivo(fc_detected)
mapa_calor
plot_dendograma(fc_detected )
En el siguiente cuaderno realizaremos la predicción de los posibles positivos que darían en función de los permisos que teng el archivo.
https://www.r-bloggers.com/2020/03/what-is-a-dgcmatrix-object-made-of-sparse-matrix-format-in-r/ https://cran.r-project.org/web/packages/heatmaply/vignettes/heatmaply.html https://plotly.com/r/axes/ https://statisticsglobe.com/heatmap-in-r https://www.displayr.com/what-is-dendrogram/ https://github.com/colearendt/tidyjson https://cran.microsoft.com/snapshot/2017-08-01/web/packages/tidyjson/vignettes/introduction-to-tidyjson.html https://rdrr.io/cran/tidyjson/f/vignettes/introduction-to-tidyjson.Rmd https://hendrikvanb.gitlab.io/2018/07/nested_data-json_to_tibble/ https://stackoverflow.com/questions/35421870/reading-multiple-json-files-in-a-directory-into-one-data-frame Pero hemos usado read_json para usar el spread_all http://gradientdescending.com/simple-parallel-processing-in-r/ https://cran.r-project.org/web/packages/jsonlite/jsonlite.pdf https://blog.dominodatalab.com/multicore-data-science-r-python https://stackoverflow.com/questions/23758858/how-can-i-extract-elements-from-lists-of-lists-in-r https://stats.stackexchange.com/questions/31083/how-to-produce-a-pretty-plot-of-the-results-of-k-means-cluster-analysis https://uc-r.github.io/kmeans_clustering https://www.rstudio.com/resources/cheatsheets/ https://rubenfcasal.github.io/aprendizaje_estadistico/cart-con-el-paquete-rpart.html https://plotly.com/ggplot2/dendrogram/ https://github.com/neuroimaginador/fcaR/blob/master/R/formal_context.R